<?php

namespace App\Http\Controllers\Admin\ShippingTemplate;

use App\Http\Controllers\Controller;
use App\Models\Express;
use App\Traits\Controllers\AdminTraits;
use App\Traits\Controllers\IndexTraits;
use App\Traits\Controllers\ShowTraits;
use App\Traits\Controllers\UpdateStatusTraits;
use App\Traits\Controllers\UpdateTraits;
use App\Transformers\Shipping\ExpressTransformer;
use Illuminate\Http\Request;

class ExpressController extends Controller
{

    //快递公司表的查
   use IndexTraits;
   use UpdateTraits;
   use ShowTraits;
   use UpdateStatusTraits;

    //定义模型和transformer
    public $model = Express::class;
    public $transformer = ExpressTransformer::class;

    /**
     * 参数验证规则
     *
     * @param Request $request
     * @return array
     */
    public function rules(Request $request): array
    {
        switch ($request->method()) {
            case 'GET':
                return [];
                break;
            case 'PATCH':
            case 'PUT':
            case 'POST':
                return [
                    'code' => 'required|min:2|max:20',
                    'name' => 'required|min:4|max:50',
                ];
                break;
        }
        return [];
    }

    /**
     * 验证信息
     *
     * @return array
     */
    public function ruleMessages(): array
    {
        return [
            'code.required' => '快递公司简称 不能为空',
            'code.min' => '快递公司简称 不能少于2个字段',
            'code.max' => '快递公司简称 不能多于20个字段',
            'name.required' => '快递公司全称 不能为空',
            'name.min' => '快递公司简称 不能少于4个字段',
            'name.max' => '快递公司简称 不能多于50个字段',
        ];
    }
}
